package com.ruoyi.contract.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.ruoyi.contract.domain.ConBusiness;
import com.ruoyi.contract.domain.vo.ConBusinessDetail;


import java.util.Date;
import java.util.List;

/**
 * 合同主Service接口
 * 
 * @author ruoyi
 * @date 2021-09-08
 */
public interface IConBusinessService extends IService<ConBusiness>
{
    /**
     * 查询合同主
     * 
     * @param conId 合同主ID
     * @return 合同主
     */
    public ConBusinessDetail selectConBusinessById(Long conId);

    /**
     * 查询合同主列表
     * 
     * @param conBusiness 合同主
     * @return 合同主集合
     */
    public List<ConBusiness> selectConBusinessList(ConBusiness conBusiness);


    /**
     * 新增合同主
     *
     * @param conBusiness 合同主
     * @return 结果
     */
    public int insertConBusiness(ConBusiness conBusiness);

    /**
     * 修改合同主
     *
     * @param conBusiness 合同主
     * @return 结果
     */
    public int updateConBusiness(ConBusiness conBusiness);

    /**
     * 批量删除合同主
     *
     * @param conIds 需要删除的合同主ID
     * @return 结果
     */
    public int deleteConBusinessByIds(String[] conIds);

    /**
     * 删除合同主信息
     *
     * @param conId 合同主ID
     * @return 结果
     */
    public int deleteConBusinessById(String conId);

    /**
     * 查找合同列表
     */
    public List<ConBusiness> listConByWorkInfo(Long deptId, Long cusId, String workType, String supplyType, Date workTime);

    /**
     * 判断合同是冻结作废
     */
    public boolean operateAble(Long conId);

//    /**
//     * 判断合同是否可用
//     * @param conId
//     * @return
//     */
//    public boolean judgeConById(Long conId);


    /**
     * 通过模板新增合同
     */
    public Long copyContractById(Long conId);

    public String getConCode(String conCode);
    
    List<ConBusiness> listContractByProjectId(Long projectId);
}
